package com.yidu.action;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.comment.Page;
import com.yidu.comment.Tools;
import com.yidu.model.SnBranch;
import com.yidu.model.SnFiDetail;
import com.yidu.model.SnFinance;
import com.yidu.model.SnUser;
import com.yidu.service.SnBranchService;
import com.yidu.service.SnFinanceService;

/**
 * 分公司的action
 * @author 盛豪
 * @date 2018年11月29日
 * @version 1.0
 */
@Controller
@RequestMapping("/branch")
public class SnBranchAction {
	@Resource
	private SnBranchService branchService;
	/**
	 * 查询所有
	 * @return
	 */
	@RequestMapping("selectAll")
	@ResponseBody
	public Map<String, Object> selectAll(Integer page,Integer limit,SnBranch snBranch){
		//new一个页数
		Page pages=new Page();
		//将数据封装
		pages.setCurPage(page);
		pages.setRows(limit);
		//创建一个map对象
		Map<String,Object> maps = new HashMap<>(16);
		//maps中存放页数
		maps.put("page", pages);
		//maps中存放对象
		maps.put("snBranch", snBranch);
		
		//查询所有方法
		List<SnBranch> list=branchService.selectAll(maps);
		//查询总行数
		int count = branchService.findCount(maps);
		
		//创建一个map
		Map<String, Object> map = new HashMap<>(16);
		//map给code赋值0
		map.put("code", 0);
		//map给msg赋值0
		map.put("msg", 0);
		
		map.put("count", count);
		//将list放入map中
		map.put("data", list);
		return map;
		
	}
	
	/**
	 * 删除
	 * @param braId
	 * @return
	 */
	@RequestMapping("delete")
	@ResponseBody
	public int delete(String braId){
		return branchService.deleteByPrimaryKey(braId);
	}
	
	/**
	   * 增加
	 * @param scBranch
	 * @return
	 */
	@RequestMapping("insert")
	@ResponseBody
	public int insert(SnBranch scBranch){
		return branchService.insert(scBranch);
	}
	
	
	/**
	 * 增加和修改
	 * @param page
	 * @param limit
	 * @param user
	 * @return
	 * @throws IOException 
	 * @throws IllegalStateException 
	 */
	@RequestMapping("addOrUpdate")
	@ResponseBody
	public int addOrUpdate(SnBranch snBranch,HttpSession session){
		//获取session
		SnUser user=(SnUser) session.getAttribute("user");
		//设置默认值为1
		snBranch.setIsva(1);
		//设置排序为1
		snBranch.setSort(1);
		//设置上级id为123
		snBranch.setSnBraId(String.valueOf(123));
		//设置操作人为当前操作人
		snBranch.setOper(user.getUserName());
		//设置时间为当前时间
		snBranch.setOptime(Tools.getCurDate());
		//返回调用分公司接口的增加或修改方法
		return branchService.addOrUpdate(snBranch);
		
	}
	
	
	/**
	 * 根据id查询
	 */
	@RequestMapping("/findById")
	@ResponseBody
	public SnBranch findById(String braId){
		System.out.println("==================="+braId);
		SnBranch sc = branchService.selectByPrimaryKey(braId);
		return sc;
	}
	
}